Skip to main content
Version: 1.7.0

EM20-DK 快速开始

一、环境准备

1.1 硬件准备

要开始使用 EM20-DK,需要准备以下物品:

  • 开发板:EM20-DK 开发板
  • PC 机:用于连接串口调试
  • 电源适配器:推荐使用 12V/5A,5.5 × 2.5 mm 母头,中心为正极的电源适配器
  • USB 线:用于连接开发板和电脑,主机端为 Type-A 口,开发板端为 Type-C 口
  • 以太网线缆:用于连接开发板和网络,推荐使用五类或六类网线,接入开发板的 RJ45 网口(eth1)
  • Micro SD 卡:用于刷机或调试,由于系统固件较大,更大的存储、更高的读写性能会带来更好的使用体验,推荐使用 64 GB/class10 或更高规格的 Micro SD 卡
  • Micro SD 卡读卡器:用于读写 Micro SD 卡中的文件

硬件连接示意图:

1.2 镜像获取与烧录

1.2.1 镜像下载

获取 EM20-DK 系统镜像:

  • 下载链接TACO SDK 镜像
  • 镜像文件:选择 .img.xz 格式的压缩镜像文件,并进行解压

1.2.2 镜像烧录

详细操作请参考:「EM20-DK 使用技术手册」文档的「启动方式」章节

系统首次启动完成后,登录系统,更新软件源并安装 TACO SDK 基础环境:

sudo apt update
sudo apt install tps-firmware taco-sdk

二、上电开机

2.1 认识 EM20-DK

📝 说明:

  • 此处仅标注了启动相关的几个接口,方便用户初步认识使用平台,详细内容请参考文档「EM20-DK 开发板介绍」

2.2 上电开机步骤

依次插入准备好的 USB 转串口线、以太网线、SD 卡,最后插入 12V 电源。上电成功后,电源指示灯和系统指示灯都会亮起,如下图红框所示。

⚠️ 注意:

  • 由于 EM20-DK 在断电状态下插电源会自动开机,建议用户最后连接 12V 电源。

三、初始配置

3.1 登录系统

系统启动后,可以通过串口和 SSH 这两种方式登录系统。初始登录账户信息如下:

账户类型用户名密码
普通用户tps123456
管理员账户rootroot

有关系统登录的更多信息,请参考 「EM20-DK 使用技术手册」文档的「登录系统」章节 的相关内容。

3.2 查看IP地址

EM20-DK 开发板默认采用是 DHCP (Dynamic Host Configuration Protocol) 自动获取 IP 的方式,EM20-DK 的网络接口为 eth1eth2。如需获取 EM20-DK 开发板的当前 IP 地址信息,请使用 ifconfig 命令进行查询:

root@em20-dk:~# ifconfig
...
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1a0a:6ef3:7ea0:9701 prefixlen 64 scopeid 0x20<link>
ether 78:78:35:b0:02:0d txqueuelen 1000 (Ethernet)
RX packets 913 bytes 102950 (102.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 287 bytes 20567 (20.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 31
...

根据上述命令输出结果,eth1 网络接口的当前 IP 地址为 192.168.1.100。 有关网络配置的更多信息,请参考 「EM20-DK 使用技术手册」文档的「网络配置」章节 的相关内容。

四、运行示例程序

更新并安装 tasamples 下载测试资源:

sudo apt update && apt install tasamples libenc24 libdec24

测试资源位于 /usr/data 目录下:

root@em20-dk:~# ls /usr/data/
automation dvfs gpiozero npu suspend vdec
ddr ffmpeg ids otp taco-pipeline-1.0.0 venc
deb fio libcv qa tps_pipeline
distro gmac multicore sound usb

4.1 编码

视频编码测试命令是 taco_venc_simple_example,主要用于将 YUV 数据编码成 H.264 数据。 测试资源为 /usr/data/venc/1920x1080_420p_10f.yuv(10 帧,1080P,YUV420p 格式数据)。使用说明如下:

taco_venc_simple_example -i <input_file> <threads> <cycles> <loops> <frames> <save> <pixformat> <pp>

示例命令

root@em20-dk:~# taco_venc_simple_example -t 4 -c 1 -l 1 -f 10 -s 1
TACO Video Encoder Configuration:
Input file: /usr/data/venc/1920x1080_420p_10f.yuv
Threads: 4
Encoder cycles: 1
Loops per encoder: 1
Frames per loop: 10
Save file: yes
Pixel format: 0
Pre-processing mode: disabled
Total frames per thread: 10
TACO VENC Multi-threaded Test Configuration:
Threads: 4
Encoder cycles: 1
Loops per encoder: 1
Frames per loop: 10
Save file: yes
Pixel format: 0
PP encode: no
Total frames per thread: 10
Thread 3 - Cycle 1 - Loop 1: FPS: 40.95, Frames: 10, Streams: 10
Thread 1 - Cycle 1 - Loop 1: FPS: 53.63, Frames: 10, Streams: 10
Thread 3: Completed
Thread 1: Completed
Thread 2 - Cycle 1 - Loop 1: FPS: 46.16, Frames: 10, Streams: 10
Thread 0 - Cycle 1 - Loop 1: FPS: 35.68, Frames: 10, Streams: 10
Thread 2: Completed
Thread 0: Completed
All threads completed

输出文件名为 output_thread_0.h264output_thread_1.h264output_thread_2.h264output_thread_3.h264

4.2 解码

视频解码测试命令是 ppvdec,主要用于将 H.264、H.265 或 JPEG 数据解码成 YUV 或 RGB 数据。测试资源位于 /usr/data/vdec 目录下。使用说明如下:

ppvdec decode_mode <线程数> <循环次数> <解码周期> <帧数> <保存文件> [解码类型] [分辨率] [PP模式]

示例命令

root@em20-dk:~# ppvdec decode_mode 1 1 1 10 1 0 0 0
Signal handlers installed (SIGINT, SIGTERM)
=== [ppvdec running from test_taco_vdec.c] ===
=== Legacy Mode Configuration ===
Codec: H.264
Resolution: 1080p
PP Channel: Channel0 only
Save YUV: Enabled
Stream Files Used:
H.264 1080p: /usr/data/vdec/stream_1920x1080.h264
H.264 4K: /usr/data/vdec/stream_3840x2160.h264
H.265 1080p: /usr/data/vdec/stream_1920x1080.h265
H.265 4K: /usr/data/vdec/stream_3840x2160.h265
Starting single decode thread (no pthread)...
Thread 1 - PP Channel Configuration: mode=0, ch0=enabled, ch1=disabled
Thread 1 - Parsing stream file: /usr/data/vdec/stream_1920x1080.h265
Parsing H.265 /HEVC format
Parsed 1000 frames from video file
Thread 1 Loop 1: FPS: 2.63
Thread 1: 1 frames, FPS: 2.61
PASS

五、关机下电

开发板正常工作时,命令行输入 shutdown 命令,开发板会执行关机下电流程。

root@em20-dk:~# shutdown -h now
Shutdown scheduled for Sat 2024-04-20 03:35:48 CST, use 'shutdown -c' to cancel.
root@em20-dk:~#
root@em20-dk:~#
root@em20-dk:~#
Stopping session-1.scope - Session 1 of User root...
[ OK ] Removed slice system-modprobe.slice - Slice /system/modprobe.
......
[ OK ] Finished systemd-poweroff.service - System Power Off.
[ OK ] Reached target poweroff.target - System Power Off.
[ 2811.790456] vipcore, destroy device start...
[ 2811.794956] resource: Trying to free nonexistent resource <0x00000001c0000000-0x000000043fffffff>
[ 2811.804764] vipcore, destroy device end...
[ 2811.810587] ES8388 2-0011: es8388 not initialized, skipping shutdown
[ 2811.818183] reboot: Power down

六、学习向导

如果您是第一次接触 Taco SDK 开发者套件,可以跟随以下的学习旅程,逐渐上手开发者套件,希望通过开发者套件更快地实现您的 AI 创意。

学习向导

图片加载中...